課程資訊
課程名稱
系統程式設計
Systems Programming 
開課學期
112-1 
授課對象
資訊工程學系  
授課教師
鄭卜壬 
課號
CSIE2210 
課程識別碼
902 25900 
班次
01 
學分
3.0 
全/半年
半年 
必/選修
必帶 
上課時間
星期四2,3,4(9:10~12:10) 
上課地點
資102 
備註
限本系所學生(含輔系、雙修生) 且 限學士班二年級以上 且 限學號單號
總人數上限:100人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This course is designed for sophomore CS-major students and serves as the introduction system-level course. In this course, students will learn how to write the programs using system services in Unix-like systems. The topics covered in this course include:

1. Course Overview
2. Basic OS Concepts
3. Unix History, Standardization & Implementation
4. File Input and Output
5. Standard I/O Library
6. Files and Directories
7. System Data Files and Information (optional)
8. Environment of a Unix Process
9. Process Control
10. Process Relationships
11. Signals
12. Inter-process Communication
13. Thread Programming
14. Networking (optional) 

課程目標
The course expects the students

1. to be familiar with the UNIX-like systems.

It means to know how to make use of many tools/services provided by the system: commands, library calls or system calls. It also means that you understand the model of computation that Unix presents.

2. to become good system programmers.

It means that you should know how to write a descent C program in Unix/Linux as the semester is over. However, this course should not limit yourself in writing system programs in Unix/Linux. The learning process that you will have in this course should teach you how to program in any other operating systems which you might use later in your career. 
課程要求
Basic C/C++ programming 
預期每週課後學習時數
 
Office Hours
每週二 09:30~11:30 備註: Make appointments first, please. 
指定閱讀
Advanced Programming in the Unix Environment, 3rd Edition, by Richard Stevens and Steven A Rago, Addison-Wesley, 2013 
參考書目
1. Understanding UNIX/LINUX Programming: A Guide to Theory and Practice, by Bruce Molay, Prentice Hall, 2002.
2. The Art of Unix Programming, by Eric S. Raymond.
3. Managing Projects with make, by Andrew Oram and Steve Talbott, 1991. 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Assignments 
40% 
Programming (32%)+Hand-written (8%) 
2. 
Midterm Exam 
30% 
 
3. 
Final Exam 
30% 
 
 
針對學生困難提供學生調整方式
 
上課形式
作業繳交方式
考試形式
其他
由師生雙方議定
課程進度
週次
日期
單元主題
無資料